package gat.api.background.dic;

import com.bitsun.core.common.web.ResultDTO;
import gat.dto.req.dic.DicDataReqDto;
import gat.dto.res.dic.DicDataListReqDto;
import gat.dto.res.dic.DicDataResDto;
import gat.dto.res.dic.DicDataVo;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiResponse;
import io.swagger.annotations.ApiResponses;

import java.util.List;

/**
 * 
 * @Author: tmac
 * @Email: tmac
 */
@Api(value = "dicData", description = "字典数据接口", tags = {"字典数据"})
public interface BDicDataApi {
    /**
     * 根据typeCode获取字典数据
     * @return 返回完整的资源对象
     */
    @ApiOperation(value = "获取字典数据", tags = {"字典数据"}, nickname = "getByType")
    @ApiResponses(value = {@ApiResponse(code = 200, message = "操作是否成功,000000:成功，否则失败")})
    ResultDTO<List<DicDataVo>> getByType(String typeCode);


    /**
     * 更新一个资源对象(部分更新)
     *
     * @return 返回完整的资源对象
     */
    @ApiOperation(value = "更新一个资源对象(部分更新,更新对象里有值的属性,空值不更新)", tags = {"字典数据"}, nickname = "patchUpdateDicData")
    @ApiResponses(value = {@ApiResponse(code = 200, message = "操作是否成功,000000:成功，否则失败")})
    ResultDTO<DicDataResDto> patchUpdateDicData(Long id, DicDataReqDto reqDto);

    /**
     * 更新多个资源对象
     *
     * @return 返回完整的资源对象
     */
    @ApiOperation(value = "更新一个资源对象(部分更新,更新对象里有值的属性,空值不更新)", tags = {"字典数据"}, nickname = "batchUpdate")
    @ApiResponses(value = {@ApiResponse(code = 200, message = "操作是否成功,000000:成功，否则失败")})
    ResultDTO<List<DicDataVo>> batchUpdate(DicDataListReqDto reqDto);

}
